package com.yotouch.app.stake.hsf;

import com.yotouch.app.stake.model.response.ResponseAssetsCenter;

/**
 * Created by sen on 17-6-22.
 */
public interface AssetsCenterService {

    int COVERAGE_MILEAGE = 50;

    /**
     * 查询充电站地理信息包括充电站实时状态、设备状态等信息
     *
     * @param orgType - 层级类型：1国；2省；3市；6：高速（G0：所有高速站点，G[x]单条高速站点）
     * @param orgNo - 区域编码
     * @param stationType - 0：查询所有的，1：国网;2:社会（不含个人共享桩）；3：个人共享
     * @param pageNum - 请求当前页数
     * @param pageSize - 目前按100条记录进行分页
     * @return
     */
    public ResponseAssetsCenter getStationGISInfo(int orgType, String orgNo, int stationType, int pageNum, int pageSize) ;

    /**
     * 根据区域编码和层级关系获取充电桩总况信息
     * @param orgNo 区域编码
     * @param orgType 层级类型:1国;2省;3市;4站;5桩6、高速
     * @return
     */
    public ResponseAssetsCenter getGlobalMonitor(String orgNo, int orgType);

    /**
     * 根据区域编码和层级关系获取充电桩区域分布
     * @param orgNo 区域编码
     * @param orgType 层级类型:1国;2省;3市;4站;5桩6、高速
     * @return
     */
    public ResponseAssetsCenter getRegionStatistic(String orgNo, int orgType);

    /**
     * 根据充电站标识获取充电站运行信息
     * @param stationNo 站编码
     * @return
     */
    public ResponseAssetsCenter getChargingWorkingInfo(String stationNo);

    /**
     * 根据桩编码获取充电站相关信息
     * @param stakeNo 桩编码
     * @return
     */
    public ResponseAssetsCenter getPileMonitor(String stakeNo);

    /**
     * 通过高速编号获取高速覆盖信息
     * 覆盖服务区 =高速充电站数；覆盖里程 =高速充电站数 x （48~50区间的数） =公里数；
     * 接通城市 =（之前是按照369个站，81城市的比例去算的 81/369 =0.219）*高速充电站数
     * @param gsNo 高速编号,高速公路查询时全局传G0
     * @return
     */
    public ResponseAssetsCenter getHighWayRegion(String gsNo);

    /**
     * 社会充电桩排名返回排名前8的数据
     * @return
     */
    public ResponseAssetsCenter getSocialPileRank();

    /**
     * 各省充电桩运营商分布情况
     * @param orgNO   区域编码
     * @param orgType 层级类型:1国;2省;
     * @return
     */
    public ResponseAssetsCenter getProvinceSocialPileRank(String orgNO, int orgType);

    /**
     * 查询全国或各省份的城市充电站的分别情况,按城市统计并返回
     * @param orgNo 区域编码
     * @param orgType 1、国；2、省
     * @param queryType 0:全部；1：国网。
     * @return
     */
    public ResponseAssetsCenter getCitysStationInfo(String orgNo, int orgType, int queryType);

}
